File LK250.HLP            LK250 KEYBOARD UTILITY                  February 1993


MSULK2.COM and MSULKV.COM are a "device drivers" for the DEC LK250 and LK450
keyboards.  This is a keyboard made by Digital Equipment Corporation (DEC)
that can be substituted for IBM's keyboard on IBM PC/ATs and above, including
PS/2s, and is also the keyboard used on the DEC VAXmate.  MSULK2.COM is to be
used on IBM equipment, MSULKV.COM is for the VAXmate.  The technical
requirement is a machine with a bidirectional keyboard interface (separate
keyboard controller) and a BIOS Int 15H hook for "System Request".  This
program has no effect when run on original PCs and PC/XTs because those
machines do not meet these requirements.  Here's what the LK250 driver does:

1) It allows the keyboard to be switched from DEC to IBM mode and back under
program control.  This replaces the "Press Alt-Special" mechanism provided by
DEC.

2) It allows programs which call it to manipulate the state of the keyboard.
Currently, MS-DOS Kermit only does this to set/clear the Hold Screen LED, so
that the user can tell if s/he's in Hold Screen mode.

3) It intercepts certain key scancodes which normally can't be seen (like Num
Lock) so that they can be used as DEC functions.

The LK250 driver controls the behavior of the top-row function keys and the
two keypads on the right end of the keyboard.  When the driver is active, it
puts your LK250 keyboard into "DEC" mode, meaning that the legends on the
keytops apply, rather than the blue labels on the front of the keys.  The blue
labels correspond to IBM keys and functions.

If the driver is loaded, MS-DOS Kermit 3.0 and later will make use of it if
you tell Kermit to SET KEY LK and then SET KEY CLEAR:

  MS-Kermit>set key lk
  MS-Kermit>set key clear

The SET KEY LK command has no effect if the driver is not loaded.  If the
driver is loaded, this command sequence puts the keyboard into DEC mode during
terminal emulation (CONNECT), and returns it to IBM mode whenever terminal
emulation ends.

During terminal emulation, the scan codes of the DEC keys are mapped to the
MS-DOS Kermit keyboard verbs of the same name as the DEC keys, so the keyboard
appears to work like the regular LK201 DEC keyboard found on the VT200 and 300
series terminals.  Here's the list of assignments when the LK250 driver is
active and the keyboard is in DEC mode:

LK250 Key           Assignment (Character or Kermit Verb)

Compose             Escape (\27)                  Main Keyboard
Backspace           DEL (\127)
Shift-Backspace     Backspace (\8)
Return              Carriage return (\13)
Shift-Return        Linefeed (\10)
Tab                 Horizontal Tab (\9)

F1  (Hold)          \Kholdscrn                    Top Row Function Keys
F2  (Print Screen)  \Kprtscn
F3  (Setup)         (none)
F4                  (none)
F5  (Break)         \Kbreak
F6  (Interrupt)     \KdecF6
F7  (Resume)        \KdecF7
F8  (Cancel)        \KdecF8
F9  (Main Screen)   \KdecF9
F10 (Exit)          \KdecF10
F11 (ESC)           \KdecF11
F12 (BS)            \KdecF12
F13 (LF)            \KdecF13
F14 (Insert/Overst) \KdecF14
F15 (Help)          \KdecHelp
F16 (Do)            \KdecDo
F17                 \KdecF17
F18                 \KdecF18
F19                 \KdecF19
F20                 \KdecF20

Find                \KdecFind                     Cursor/select keypad (gray)
Insert Here         \KdecInsert
Remove              \KdecRemove
Select              \KdecSelect
Prev                \KdecPrev
Next                \KdecNext
Up Arrow            \Kuparr
Left Arrow          \Klfarr
Right Arrow         \Krtarr
Down Arrow          \Kdnarr

PF1 (Gold)          \Kgold                         Numeric keypad
PF2                 \Kpf2
PF3                 \Kpf3
PF4                 \Kpf4
Keypad 7            \Kkp7
Keypad 8            \Kkp8
Keypad 9            \Kkp9
Keypad - (Minus)    \Kkpminus
Keypad 4            \Kkp4
Keypad 5            \Kkp5
Keypad 6            \Kkp6
Keypad , (Comma)    \Kkpcoma
Keypad 1            \Kkp1
Keypad 2            \Kkp2
Keypad 3            \Kkp3
Keypad Enter        \Kkpenter
Keypad 0            \Kkp0
Keypad . (Period)   \Kkpdot

To install the driver, just type "msulk2" on IBM PCs and PS/2s, or "msulkv" on
VAXmates (this assumes that MSULK2.COM or MSULKV.COM is in your current disk
and directory or in your DOS path).  You can also run the driver from your
AUTOEXEC.BAT file if you want it to be active all the time.

For the VAXmate only, a set of key definitions is also required.  Add these
to your MSCUSTOM.INI file:

SET KEY \326    \KPF3       ; PF3 Scrl Lock
SET KEY \311    \KPF4       ; PF4 Prt Sc
 
SET KEY \339    \Kkpdot     ;    KP .    Delete
SET KEY \338    \Kkp0       ;    KP 0    Install
SET KEY \335    \Kkp1       ;    KP 1    End
SET KEY \336    \Kkp2       ;    KP 2    Down Arrow
SET KEY \337    \Kkp3       ;    KP 3    Page Down
SET KEY \331    \Kkp4       ;    KP 4    Left Arrow
SET KEY \332    \Kkp5       ;    KP 5    unused
SET KEY \333    \Kkp6       ;    KP 6    Right Arrow
SET KEY \327    \Kkp7       ;    KP 7    Home
SET KEY \328    \Kkp8       ;    KP 8    Up Arrow
SET KEY \329    \Kkp9       ;    KP 9    Page up
SET KEY \330    \Kkpminus   ;    KP -    -
SET KEY \334    \Kkpcoma    ;    KP ,    +
SET KEY \2494   \Kkpenter   ;    Alt-Enter
 
SET KEY \389    \kdecfind   ;     Find or Home
SET KEY \390    \kdecinsert ;     Insert Here
SET KEY \391    \kdecremove ;     Remove
SET KEY \392    \kdecselect ;     Select or End
SET KEY \393    \kdecprev   ;     Previous Screen
SET KEY \394    \kdecnext   ;     Next Screen
SET KEY \395    \Kuparr     ;     Up Arrow
SET KEY \396    \Klfarr     ;     Left Arrow
SET KEY \397    \Krtarr     ;     Right Arrow
SET KEY \398    \Kdnarr     ;     Down Arrow
 
SET KEY \315    \Kholdscrn  ;     F1  Toggle Hold Screen
SET KEY \316    \Kprtscn    ;     F2  Print Screen;
SET KEY \317    \Ktermtype  ;     F3  Toggle Toggle Terminal Type
SET KEY \318    \Klogoff    ;     F4  Turn Session Logging Off
SET KEY \319    \Kbreak     ;     F5  Break
 
SET KEY \x140 \kdecf6
SET KEY \x141 \kdecf7
SET KEY \x142 \kdecf8
SET KEY \x143 \kdecf9
SET KEY \x144 \kdecf10
SET KEY \399 \kdecf11
SET KEY \400 \kdecf12
SET KEY \401 \kdecf13
SET KEY \402 \kdecf14
SET KEY \403 \kdechelp
SET KEY \404 \kdecdo
SET KEY \405 \kdecf17
SET KEY \406 \kdecf18
SET KEY \407 \kdecf19
SET KEY \408 \kdecf20
 
; shift-return
SET KEY \796 \13
; shift-delete
SET KEY \782 \127

The LK250 program was written in IBM PC assembly language and contributed to
Kermit Distribution by Terry Kennedy, St. Peter's College, Jersey City, New
Jersey, USA (TERRY@SPCVXA.BITNET), December 1989.  It was adapted to the
VAXmate by Trevor Warwick, Digital Equipment Co, Reading, England
(warwick@marvin.enet.dec.com).

(End of File MSULK2.HLP)
